/*

 * Stack implementation////

*/

 

public class MyStack {

   private int maxSize;

   private long[] stackArray;

   private int top;

   public MyStack(int s) {

      maxSize = s;

      stackArray = new long[maxSize];

      top = -1;

   }

   public void push(long j) {

      stackArray[++top] = j;

   }

   public long pop() {

      return stackArray[top--];

   }

   public long peek() {

      return stackArray[top];

   }

   public boolean isEmpty() {

      return (top == -1);

   }

   public boolean isFull() {

      return (top == maxSize - 1);

   }

   public static void main(String[] args) {

      MyStack theStack = new MyStack(10);

      theStack.push(10);

      theStack.push(20);

      theStack.push(30);

      theStack.push(40);

      theStack.push(50);

      while (!theStack.isEmpty()) {

         long value = theStack.pop();

         System.out.print(value);

         System.out.print(" ");

      }

      System.out.println("");

   }

}

/*

 * Queue implementation/////

*/

 

public class QueueDemo {

      private static final int capacity = 3;

      int arr[] = new int[capacity];

      int size = 0;

      int top = -1;

      int rear = 0;

 

      public void push(int pushedElement) {

       if (top < capacity - 1) {

        top++;

        arr[top] = pushedElement;

        System.out.println("Element " + pushedElement

          + " is pushed to Queue !");

        display();

       } else {

        System.out.println("Overflow !");

       }

 

      }

 

      public void pop() {

       if (top >= rear) {

        rear++;

        System.out.println("Pop operation done !");

        display();

       } else {

        System.out.println("Underflow !");

       }

      }

 

      public void display() {

       if (top >= rear) {

        System.out.println("Elements in Queue : ");

        for (int i = rear; i <= top; i++) {

         System.out.println(arr[i]);

        }

       }

      }

 

      public static void main(String[] args) {

       QueueDemo queueDemo = new QueueDemo();

       queueDemo.pop();

       queueDemo.push(23);

       queueDemo.push(2);

       queueDemo.push(73);

       queueDemo.push(21);

       queueDemo.pop();

       queueDemo.pop();

       queueDemo.pop();

       queueDemo.pop();

      }

 

     }